上期我們設定了在遊戲模式時,把亂數、確定等按鈕都鎖住,卻導致了回到輸入模式時無法使用的囧境,所以這次我們要來解決這件事
設定新的function,setEnabled(true);
這樣就可以解決切換模式時不能按亂數、確定等按鈕的問題了!但是,在遊戲模式中點擊按鈕,使其變紅後,回到輸入模式他不會變回白色,所以在切換回輸入模式時也要順便解決這個問題。
加上個for迴圈去一個一個設定就可以啦
private void changeInputModel() {
for (int i = 0; i < m_iSize * m_iSize; i++) {
m_alBingoButtons.get(i).getButton().setBackgroundResource(R.drawable.button_style); //按鈕設為白色
m_alBingoButtons.get(i).setStatus(false); //所有按鈕設為未被點擊
}
m_binding.tvBingoLine.setText("");
m_binding.btnSure.setEnabled(true);
m_binding.btnRandom.setEnabled(true);
m_binding.etInput.setEnabled(true);
m_binding.etBingoArrayNumber.setEnabled(true);
}
弄完後記得去,checkSwitchStatus把function加上
private void checkSwitchStatus() {
if (m_binding.switchModel.isChecked() == true) {
Log.i("LogTest", "輸入模式");
changeInputModel();
} else if (m_binding.switchModel.isChecked() == false) {
Log.i("LogTest", "遊戲模式");
changeGameModel();
}
}
這樣賓果就完成大半啦!基本上也是可以玩了,但有些人會希望可以幫忙計算連線數,所以之後幾天應該會來計算連線數,以及目前在輸入模式時,如果輸入數字是空白然後去點擊格子,是不會有任何反應的,所以之後可能會在那邊加上跳出dialog輸入框,讓使用者也可以直接點擊格子去增加數字。